﻿#pragma once
#ifndef WRWORKSTATUS_H
#define WRWORKSTATUS_H

#include "../WRGlobal.h"
#include "../../WRSoft-Utility/WRBasics.h"

//表示工作状态。
class WRWorkStatus
{
public:
    //枚举工作状态。
    enum Enum
    {
        //不可使用。
        Unavail = 0,
        //已经关闭。
        Closed,
        //正在打开。
        Opening,
        //已经就绪。
        Ready,
        //已经停止。
        Stopped,
        //正在启动。
        Starting,
        //正在工作。
        Running,
        //正在停止。
        Stopping,
        //已经阻塞。
        Blocked,
        //正在关闭。
        Closing,
        //正在释放
        Disposing,
        //已经释放。
        Disposed,
        //未知状态
        Unknown
    };

    //返回当前对象的友好字符串。
    WRSOFT_WORKING_COMMON_API const QString& toString() const;

    WRENUM(WRWorkStatus, Enum)
};

namespace WRText
{
    //返回指定工作状态的文本。
    inline QString toString(WRWorkStatus value)
    {
        return value.toString();
    }
}

#endif // WRWORKSTATUS_H

